Multidimensional Tables (বা Arrays) হল এমন ডেটা স্ট্রাকচার যা একাধিক ডাইমেনশন বা মাত্রায় ডেটা ধারণ করতে সক্ষম। COBOL-এ, multidimensional tables বা অ্যারেগুলি একটি সুনির্দিষ্ট আকারের টেবিল হিসাবে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, যেখানে প্রতিটি উপাদান একাধিক সূচক দ্বারা চিহ্নিত হয়। এটি বিভিন্ন ক্ষেত্রের জন্য ডেটা সংগ্রহ, প্রক্রিয়াকরণ এবং বিশ্লেষণ সহজ করে তোলে।
COBOL-এ মাল্টিডাইমেনশনাল টেবিল সাধারণত ডেটা ম্যানিপুলেশনের জন্য ব্যবহৃত হয়, যেমন ম্যাট্রিক্স, ডেটা বিশ্লেষণ, স্টোরেজ মডেল, ইত্যাদি ক্ষেত্রে। নিচে multidimensional tables এর ব্যবহার এবং কিভাবে COBOL-এ এগুলি ব্যবহার করা হয় তার বিস্তারিত আলোচনা করা হল।
COBOL-এ একটি মাল্টিডাইমেনশনাল টেবিল ডিফাইন করতে, আপনাকে OCCURS ক্লজ ব্যবহার করতে হবে, যা টেবিলের সাইজ এবং ডাইমেনশন নির্ধারণ করে। COBOL সাধারণত ১ বা ২ মাত্রার অ্যারে সাপোর্ট করে, তবে আপনি আরও বেশি মাত্রার অ্যারেও কাজ করতে পারেন।
01 EMPLOYEE-NAMES.
05 EMP-NAME OCCURS 10 TIMES PIC X(20).
এখানে, EMPLOYEE-NAMES একটি একমাত্রার অ্যারে, যার মধ্যে ১০টি নাম (20 অক্ষর প্রতিটি) থাকতে পারে।
01 MATRIX.
05 ROW OCCURS 3 TIMES.
10 COLUMN OCCURS 4 TIMES PIC 9(3).
এখানে, MATRIX একটি দ্বিমাত্রিক টেবিল যা ৩টি সারি এবং প্রতি সারিতে ৪টি কলাম ধারণ করতে সক্ষম।
01 GRID.
05 LAYER OCCURS 2 TIMES.
10 ROW OCCURS 3 TIMES.
15 COLUMN OCCURS 4 TIMES PIC 9(3).
এখানে, GRID একটি তিন মাত্রার অ্যারে যা ২টি স্তর (Layer), প্রতিটি স্তরে ৩টি সারি (Row) এবং প্রতিটি সারিতে ৪টি কলাম (Column) ধারণ করে।
COBOL-এ multidimensional tables এ ডেটা অ্যাক্সেস করার জন্য আপনি INDEX বা SUBSCRIPT ব্যবহার করতে পারেন।
SUBSCRIPT ব্যবহার করলে আপনি একটি নির্দিষ্ট অ্যারে উপাদান বা সেলের মান অ্যাক্সেস করতে পারেন।
SET ROW-SUBSCRIPT TO 2
SET COL-SUBSCRIPT TO 3
DISPLAY MATRIX (ROW-SUBSCRIPT, COL-SUBSCRIPT)
এখানে, ROW-SUBSCRIPT এবং COL-SUBSCRIPT অ্যারে উপাদান (সেলের) অবস্থান নির্ধারণ করতে সাহায্য করবে এবং আপনি সেই সেলের মান প্রদর্শন করতে পারবেন।
INDEX ব্যবহার করা হয় যখন আপনি টেবিলের নির্দিষ্ট স্থানে সরাসরি অ্যাক্সেস করতে চান, এটি সাধারণত বড় অ্যারে গুলির জন্য দ্রুততর।
SET ROW-INDEX TO 2
SET COL-INDEX TO 3
DISPLAY MATRIX (ROW-INDEX, COL-INDEX)
এখানে, ROW-INDEX এবং COL-INDEX দ্বারা টেবিলের নির্দিষ্ট উপাদান অ্যাক্সেস করা হবে।
মাল্টিডাইমেনশনাল টেবিলগুলো বিভিন্ন পরিস্থিতিতে ব্যবহৃত হতে পারে। কিছু সাধারণ উদাহরণ নিচে দেওয়া হলো:
ম্যাট্রিক্সের উপর গণনা বা বিশ্লেষণ করতে মাল্টিডাইমেনশনাল অ্যারে ব্যবহার করা যেতে পারে, যেমন মেট্রিক্স মাল্টিপ্লিকেশন বা অন্যান্য ম্যাথমেটিক্যাল অপারেশন।
PERFORM VARYING i FROM 1 BY 1 UNTIL i > 3
PERFORM VARYING j FROM 1 BY 1 UNTIL j > 4
ADD MATRIX(i,j) TO SUM
END-PERFORM
END-PERFORM
DISPLAY "Total Sum: " SUM
এখানে, MATRIX(i, j) এর মধ্যে সারি এবং কলামের মান যোগ করা হচ্ছে।
বিভিন্ন ডেটার উপর বিশ্লেষণ করার জন্য, মাল্টিডাইমেনশনাল টেবিল ব্যবহার করা যায়, যেমন শিক্ষার্থীদের ফলাফল, বিক্রয় ডেটা, স্টক প্রাইস ইত্যাদি।
01 STUDENT-SCORES.
05 SCORES OCCURS 5 TIMES.
10 SUBJECTS OCCURS 3 TIMES PIC 99.
PERFORM VARYING i FROM 1 BY 1 UNTIL i > 5
PERFORM VARYING j FROM 1 BY 1 UNTIL j > 3
ADD SCORES (i, j) TO TOTAL-SCORE
END-PERFORM
END-PERFORM
DISPLAY "Total Score: " TOTAL-SCORE
এখানে, STUDENT-SCORES একটি ৫x৩ টেবিল যা ৫টি শিক্ষার্থীর জন্য ৩টি বিষয় অনুযায়ী স্কোর ধারণ করে।
মাল্টিডাইমেনশনাল টেবিলগুলি ইনভেন্টরি ম্যানেজমেন্টে ব্যবহার করা যেতে পারে, যেখানে বিভিন্ন পণ্য, তাদের স্টক সংখ্যা এবং মূল্য থাকে।
01 INVENTORY.
05 PRODUCT OCCURS 3 TIMES.
10 STOCK OCCURS 2 TIMES PIC 9(3).
10 PRICE OCCURS 2 TIMES PIC 9(5)V99.
PERFORM VARYING i FROM 1 BY 1 UNTIL i > 3
PERFORM VARYING j FROM 1 BY 1 UNTIL j > 2
DISPLAY "Product " i " , Stock " j ": " STOCK(i,j) " , Price: " PRICE(i,j)
END-PERFORM
END-PERFORM
এখানে, PRODUCT একটি মাল্টিডাইমেনশনাল টেবিল যা পণ্যের স্টক এবং মূল্য ধারণ করে।
COBOL-এ Multidimensional Tables বা অ্যারে ব্যবহার করার মাধ্যমে আপনি একাধিক মাত্রায় ডেটা সংরক্ষণ এবং প্রক্রিয়া করতে পারেন। এটি MATRIX, ডেটা বিশ্লেষণ, ইনভেন্টরি ম্যানেজমেন্ট সহ বিভিন্ন কাজে ব্যবহৃত হতে পারে। মাল্টিডাইমেনশনাল টেবিলগুলি আপনার প্রোগ্রামকে আরও দক্ষ এবং পরিষ্কার করে তোলে, এবং SUBSCRIPT বা INDEX ব্যবহার করে আপনি সহজেই বিভিন্ন ডেটা উপাদানে অ্যাক্সেস করতে পারবেন।
common.read_more